package cc.rengu.igas.cops.common.dao;

import cc.rengu.igas.cops.common.entity.CopsMchntOrderInfo;
import cc.rengu.oltp.service.common.entity.MchntOrderInfo;

import java.util.List;

/**
 * @Description 商户订单历史表操作接口
 * @Author panky
 * @date 2020/5/18
 **/
public interface CopsMchntHisOrderInfoMapper {

    /**
     * 根据 机构号/商户号/商户订单号 查询
     *
     * @param instId       机构号
     * @param mchntOrderId 商户订单号
     * @param mchntNo      商户号
     * @return
     */
    List<MchntOrderInfo> selectMchntOrderInfoByInstIdAndMchntOrderId(String instId, String mchntNo, String mchntOrderId) throws Exception;

    /**
     * 根据主键查询商户订单信息
     *
     * @param instId    多法人标识
     * @param sysSeqNum 系统流水号
     * @param mchntNo   商户号
     * @return 商户订单信息
     * @throws Exception 异常
     */
    MchntOrderInfo selectMchntOrderInfoByPrimaryKey(String instId, String sysSeqNum, String mchntNo) throws Exception;

    /**
     * 根据 机构号/商户订单号 交易日期/交易金额 查询
     *
     * @param mchntOrderInfo 条件实体
     * @return 实体集合
     */
    List<MchntOrderInfo> selectMchntOrderInfoByInstIdMchntNo(CopsMchntOrderInfo mchntOrderInfo) throws Exception;

    /**
     * 根据 机构号/系统流水号 查询
     *
     * @param instId    多法人标识
     * @param sysSeqNum 系统流水号
     * @return 商户订单信息
     * @throws Exception 异常
     */
    List<MchntOrderInfo> selectMchntOrderInfoByInstIdSysSeqNum(String instId, String sysSeqNum) throws Exception;
}
